import requests  
import base64 


# 设置你的Flask API的URL  
api_url = 'http://127.0.0.1:8000/api/images/generate'  # 注意：这里假设你的Flask应用运行在本地8000端口  
  
# 准备POST请求的数据  
data = {  
    'prompt': 'A cinematic shot of beautiful woman.',
    'negative_prompt': 'ugly, blurry',
    # 'prompt': 'A cinematic shot of a woman wearing an intricate italian priest robe.',
    # 'image': None,  
    'width': 512,  
    'height': 512,
    'guidance_scale': 0,
    'num_inference_steps': 1
}  
  
# 发送POST请求  
response = requests.post(api_url, json=data)  
  
# 检查响应状态码  
if response.status_code == 200:  
    # 如果API返回的是图像数据（假设是字节流），则直接保存或处理这些数据  

    # 获取的Base64编码的字符串  
    base64_img_str = response.text 
      
    # 去掉Base64字符串的前缀部分  
    # 注意：这里以'data:image/jpeg;base64,'开头  
    imgdata = base64_img_str.split(',')[1]  
      
    # 对Base64编码的字符串进行解码  
    imgbyte = base64.b64decode(imgdata)

    with open('generated_image_test.jpg', 'wb') as f:  
        f.write(imgbyte)  
    print("图像已保存为 generated_image_test.jpg")  
else:  
    # 如果响应状态码不是200，则打印错误信息  
    print(f"请求失败，状态码：{response.status_code}，响应内容：{response.text}")